/*
******************************************************************************************************* 
**  Copyright (C) 2019, 苏州检易生物科技有限公司 
**  All rights reserved. 
** 
**  FileName:       	motor_step.h
**  Description:	
**  Author:        	 
**  Version				v0.1
**  Date:           	2019-08-06
**	Function List： 
**  History:         
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*                                              	防止重复包含
*********************************************************************************************************
*/

#ifndef _MOTOR_STEP_H_
#define _MOTOR_STEP_H_
/*
*********************************************************************************************************
*                                              	调试开关
*********************************************************************************************************
*/



/*
*********************************************************************************************************
*                                              	头文件
*********************************************************************************************************
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "stm32h7xx_hal.h"
#include <rtthread.h>
#include "motor.h"
#include "product_cfg.h"


/*
*********************************************************************************************************
*                                              	宏定义
*********************************************************************************************************
*/
///*回归零位*/
//#define POS_DEFAULT_ZERO						0x00
///*走步数*/
//#define DEFAULT_STEP								0xF1
///*走位置*/
//#define DEFAULT_POS									0xF2

/*试剂针垂直计算液面高度*/
#define	M_RP_HEIGHT_DECLINE_EVERY_ML				(4406)
#define	M_SP_HEIGHT_DECLINE_EVERY_ML				(548*16)
#define M_TUBE_HEIGHT_DECLINE_EVERY_ML			(25248)//27400
#define	UL_TO_REAGENT_HEIGHT_DECLINE(x)			((x)*M_RP_HEIGHT_DECLINE_EVERY_ML/1000)
#define UL_TO_SAMPLE_HEIGHT_DECLINE(x)			((x)*M_SP_HEIGHT_DECLINE_EVERY_ML/1000)
#define UL_TO_TUBE_HEIGHT_DECLINE(x)				((x)*M_TUBE_HEIGHT_DECLINE_EVERY_ML/1000)

#define MOD_INT(x)		( (x>0) ? x:(-x) )

#define GRID_EACH_RACK		10

/*
*********************************************************************************************************
*                                              枚举和结构体类型定义
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                              	全局变量声明
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                              	函数声明
*********************************************************************************************************
*/
int32_t motor_pos_para(motor_t* p_motor, uint8_t next_pos, int32_t arg);
int32_t motor_step_para(motor_t* p_motor, uint8_t next_pos, int32_t arg);
#endif
